package com.company;

import com.company.InvalidWorkHourException;
import java.util.ArrayList;
import java.util.List;

// 薪资管理核心类：存储员工、计算薪资、生成工资条
public class SalaryManager {
    // 用List存储所有员工（支持动态增删）
    private List<Employee> employeeList = new ArrayList<>();

    // 添加员工
    public void addEmployee(Employee employee) {
        employeeList.add(employee);
    }

    // 批量计算所有员工薪资
    public void batchCalculateSalaries() {
        System.out.println("\n=== 当月薪资计算结果 ===");
        for (Employee emp : employeeList) {
            try {
                double salary = emp.calculateSalary();
                System.out.printf("%s（%s）：%.2f元\n",
                        emp.getName(), emp.getEmpId(), salary);
            } catch (InvalidWorkHourException e) {
                System.out.printf("%s（%s）：计算失败 - %s\n",
                        emp.getName(), emp.getEmpId(), e.getMessage());
            }
        }
    }

    // 获取所有员工的工资条
    public List<String> getAllPaySlips() {
        List<String> paySlips = new ArrayList<>();
        for (Employee emp : employeeList) {
            paySlips.add(emp.generatePaySlip());
        }
        return paySlips;
    }
}
